package org.jvending.provisioning.stocking.par.impl;

public class ClientBundleTypeHandler extends org.apache.ws.jaxme.impl.JMSAXElementParser {
  public class DescriptorFileChoiceContentFileHandler extends org.apache.ws.jaxme.impl.JMSAXGroupParser {
    /** Will be set to true, if the first child is parsed.
     * It is an error, if another child is parsed, and the
     * fields value is true.
     * 
     */
    private boolean __state;
  
    /** Index of the particle being currently parsed
     * 
     */
    private int __childNum;
  
  
    public org.apache.ws.jaxme.impl.JMUnmarshallerHandlerImpl getHandler() {
      return org.jvending.provisioning.stocking.par.impl.ClientBundleTypeHandler.this.getHandler();
    }
  
    public boolean startElement(java.lang.String pNamespaceURI, java.lang.String pLocalName, java.lang.String pQName, org.xml.sax.Attributes pAttr) throws org.xml.sax.SAXException {
      org.apache.ws.jaxme.impl.JMUnmarshallerHandlerImpl _1 = getHandler();
      if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "descriptor-file".equals(pLocalName)) {
        if (__state) {
          if (__childNum != 0) {
            getHandler().validationEvent(javax.xml.bind.ValidationEvent.WARNING, "Multiple different particles present in a choive group.", org.apache.ws.jaxme.ValidationEvents.EVENT_CHOICE_GROUP_REUSE, null);
          } else {
            getHandler().validationEvent(javax.xml.bind.ValidationEvent.WARNING, "The element {http://java.sun.com/xml/ns/j2ee-cp}descriptor-file has already been defined.", org.apache.ws.jaxme.ValidationEvents.EVENT_CHOICE_GROUP_REUSE, null);
          }
        }
        __state = true;
        __childNum = 0;
        org.apache.ws.jaxme.JMManager _2 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.DescriptorFile.class);
        java.lang.Object _3 = _2.getElementS();
        org.apache.ws.jaxme.impl.JMSAXElementParser _4 = _2.getHandler();
        _4.init(_1, _3, "http://java.sun.com/xml/ns/j2ee-cp", "descriptor-file", _1.getLevel());
        _4.setAttributes(pAttr);
        _1.addElementParser(_4);
        return true;
      } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "content-file".equals(pLocalName)) {
        if (__state) {
          if (__childNum != 1) {
            getHandler().validationEvent(javax.xml.bind.ValidationEvent.WARNING, "Multiple different particles present in a choive group.", org.apache.ws.jaxme.ValidationEvents.EVENT_CHOICE_GROUP_REUSE, null);
          } else {
            getHandler().validationEvent(javax.xml.bind.ValidationEvent.WARNING, "The element {http://java.sun.com/xml/ns/j2ee-cp}content-file has already been defined.", org.apache.ws.jaxme.ValidationEvents.EVENT_CHOICE_GROUP_REUSE, null);
          }
        }
        __state = true;
        __childNum = 1;
        org.apache.ws.jaxme.JMManager _5 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.ContentFile.class);
        java.lang.Object _6 = _5.getElementS();
        org.apache.ws.jaxme.impl.JMSAXElementParser _7 = _5.getHandler();
        _7.init(_1, _6, "http://java.sun.com/xml/ns/j2ee-cp", "content-file", _1.getLevel());
        _7.setAttributes(pAttr);
        _1.addElementParser(_7);
        return true;
      }
      return false;
    }
  
    public void endElement(java.lang.String pNamespaceURI, java.lang.String pLocalName, java.lang.String pQName, java.lang.Object pResult) throws org.xml.sax.SAXException {
      org.jvending.provisioning.stocking.par.ClientBundleType _1 = (org.jvending.provisioning.stocking.par.ClientBundleType) result;
      switch (__childNum) {
        case 0:
          if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "descriptor-file".equals(pLocalName)) {
            _1.setDescriptorFile(((org.jvending.provisioning.stocking.par.DescriptorFileType) pResult));
            return;
          }
          break;
        case 1:
          if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "content-file".equals(pLocalName)) {
            _1.setContentFile(((org.jvending.provisioning.stocking.par.ContentFileType) pResult));
            return;
          }
          break;
        default:
          throw new java.lang.IllegalStateException("Illegal state: " + __childNum);
      }
    }
  
    public boolean isFinished() {
      return __state;
    }
  
  }

  /** The current state. The following values are valid states:
   *  0 = Before parsing the element
   *  1 = While or after parsing the child element {http://java.sun.com/xml/ns/j2ee-cp}content-id
   *  2 = While or after parsing the child element {http://java.sun.com/xml/ns/j2ee-cp}version
   *  3 = While or after parsing the child element {http://java.sun.com/xml/ns/j2ee-cp}bundle-type
   *  4 = While parsing the nested group DescriptorFileChoiceContentFile
   *  5 = While or after parsing the child element {http://java.sun.com/xml/ns/j2ee-cp}tool-descriptions
   *  6 = While or after parsing the child element {http://java.sun.com/xml/ns/j2ee-cp}user-descriptions
   *  7 = While or after parsing the child element {http://java.sun.com/xml/ns/j2ee-cp}preview
   *  8 = While or after parsing the child element {http://java.sun.com/xml/ns/j2ee-cp}vendor-info
   *  9 = While or after parsing the child element {http://java.sun.com/xml/ns/j2ee-cp}copyright
   *  10 = While or after parsing the child element {http://java.sun.com/xml/ns/j2ee-cp}device-requirement
   *  11 = While or after parsing the child element {http://java.sun.com/xml/ns/j2ee-cp}catalog-property
   * 
   */
  private int __state;


  public boolean startElement(java.lang.String pNamespaceURI, java.lang.String pLocalName, java.lang.String pQName, org.xml.sax.Attributes pAttr) throws org.xml.sax.SAXException {
    org.apache.ws.jaxme.impl.JMUnmarshallerHandlerImpl _1 = getHandler();
    switch (__state) {
      case 0:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "content-id".equals(pLocalName)) {
          __state = 1;
          _1.addSimpleAtomicState();
          return true;
        }
        break;
      case 1:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "version".equals(pLocalName)) {
          __state = 2;
          _1.addSimpleAtomicState();
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "bundle-type".equals(pLocalName)) {
          __state = 3;
          _1.addSimpleAtomicState();
          return true;
        }
        break;
      case 2:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "bundle-type".equals(pLocalName)) {
          __state = 3;
          _1.addSimpleAtomicState();
          return true;
        }
        break;
      case 3:
        if (_1.testGroupParser(new org.jvending.provisioning.stocking.par.impl.ClientBundleTypeHandler.DescriptorFileChoiceContentFileHandler(), pNamespaceURI, pLocalName, pQName, pAttr)) {
          __state = 4;
          return true;
        }
        break;
      case 4:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "tool-descriptions".equals(pLocalName)) {
          __state = 5;
          org.apache.ws.jaxme.JMManager _2 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.ToolDescriptions.class);
          java.lang.Object _3 = _2.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _4 = _2.getHandler();
          _4.init(_1, _3, "http://java.sun.com/xml/ns/j2ee-cp", "tool-descriptions", _1.getLevel());
          _4.setAttributes(pAttr);
          _1.addElementParser(_4);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "user-descriptions".equals(pLocalName)) {
          __state = 6;
          org.apache.ws.jaxme.JMManager _5 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.UserDescriptions.class);
          java.lang.Object _6 = _5.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _7 = _5.getHandler();
          _7.init(_1, _6, "http://java.sun.com/xml/ns/j2ee-cp", "user-descriptions", _1.getLevel());
          _7.setAttributes(pAttr);
          _1.addElementParser(_7);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "preview".equals(pLocalName)) {
          __state = 7;
          org.apache.ws.jaxme.JMManager _8 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.Preview.class);
          java.lang.Object _9 = _8.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _10 = _8.getHandler();
          _10.init(_1, _9, "http://java.sun.com/xml/ns/j2ee-cp", "preview", _1.getLevel());
          _10.setAttributes(pAttr);
          _1.addElementParser(_10);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "vendor-info".equals(pLocalName)) {
          __state = 8;
          org.apache.ws.jaxme.JMManager _11 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.VendorInfo.class);
          java.lang.Object _12 = _11.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _13 = _11.getHandler();
          _13.init(_1, _12, "http://java.sun.com/xml/ns/j2ee-cp", "vendor-info", _1.getLevel());
          _13.setAttributes(pAttr);
          _1.addElementParser(_13);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "copyright".equals(pLocalName)) {
          __state = 9;
          org.apache.ws.jaxme.JMManager _14 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.Copyright.class);
          java.lang.Object _15 = _14.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _16 = _14.getHandler();
          _16.init(_1, _15, "http://java.sun.com/xml/ns/j2ee-cp", "copyright", _1.getLevel());
          _16.setAttributes(pAttr);
          _1.addElementParser(_16);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "device-requirement".equals(pLocalName)) {
          __state = 10;
          org.apache.ws.jaxme.JMManager _17 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.DeviceRequirement.class);
          java.lang.Object _18 = _17.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _19 = _17.getHandler();
          _19.init(_1, _18, "http://java.sun.com/xml/ns/j2ee-cp", "device-requirement", _1.getLevel());
          _19.setAttributes(pAttr);
          _1.addElementParser(_19);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "catalog-property".equals(pLocalName)) {
          __state = 11;
          org.apache.ws.jaxme.JMManager _20 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.CatalogProperty.class);
          java.lang.Object _21 = _20.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _22 = _20.getHandler();
          _22.init(_1, _21, "http://java.sun.com/xml/ns/j2ee-cp", "catalog-property", _1.getLevel());
          _22.setAttributes(pAttr);
          _1.addElementParser(_22);
          return true;
        }
        break;
      case 5:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "user-descriptions".equals(pLocalName)) {
          __state = 6;
          org.apache.ws.jaxme.JMManager _23 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.UserDescriptions.class);
          java.lang.Object _24 = _23.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _25 = _23.getHandler();
          _25.init(_1, _24, "http://java.sun.com/xml/ns/j2ee-cp", "user-descriptions", _1.getLevel());
          _25.setAttributes(pAttr);
          _1.addElementParser(_25);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "preview".equals(pLocalName)) {
          __state = 7;
          org.apache.ws.jaxme.JMManager _26 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.Preview.class);
          java.lang.Object _27 = _26.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _28 = _26.getHandler();
          _28.init(_1, _27, "http://java.sun.com/xml/ns/j2ee-cp", "preview", _1.getLevel());
          _28.setAttributes(pAttr);
          _1.addElementParser(_28);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "vendor-info".equals(pLocalName)) {
          __state = 8;
          org.apache.ws.jaxme.JMManager _29 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.VendorInfo.class);
          java.lang.Object _30 = _29.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _31 = _29.getHandler();
          _31.init(_1, _30, "http://java.sun.com/xml/ns/j2ee-cp", "vendor-info", _1.getLevel());
          _31.setAttributes(pAttr);
          _1.addElementParser(_31);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "copyright".equals(pLocalName)) {
          __state = 9;
          org.apache.ws.jaxme.JMManager _32 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.Copyright.class);
          java.lang.Object _33 = _32.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _34 = _32.getHandler();
          _34.init(_1, _33, "http://java.sun.com/xml/ns/j2ee-cp", "copyright", _1.getLevel());
          _34.setAttributes(pAttr);
          _1.addElementParser(_34);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "device-requirement".equals(pLocalName)) {
          __state = 10;
          org.apache.ws.jaxme.JMManager _35 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.DeviceRequirement.class);
          java.lang.Object _36 = _35.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _37 = _35.getHandler();
          _37.init(_1, _36, "http://java.sun.com/xml/ns/j2ee-cp", "device-requirement", _1.getLevel());
          _37.setAttributes(pAttr);
          _1.addElementParser(_37);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "catalog-property".equals(pLocalName)) {
          __state = 11;
          org.apache.ws.jaxme.JMManager _38 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.CatalogProperty.class);
          java.lang.Object _39 = _38.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _40 = _38.getHandler();
          _40.init(_1, _39, "http://java.sun.com/xml/ns/j2ee-cp", "catalog-property", _1.getLevel());
          _40.setAttributes(pAttr);
          _1.addElementParser(_40);
          return true;
        }
        break;
      case 6:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "preview".equals(pLocalName)) {
          __state = 7;
          org.apache.ws.jaxme.JMManager _41 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.Preview.class);
          java.lang.Object _42 = _41.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _43 = _41.getHandler();
          _43.init(_1, _42, "http://java.sun.com/xml/ns/j2ee-cp", "preview", _1.getLevel());
          _43.setAttributes(pAttr);
          _1.addElementParser(_43);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "vendor-info".equals(pLocalName)) {
          __state = 8;
          org.apache.ws.jaxme.JMManager _44 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.VendorInfo.class);
          java.lang.Object _45 = _44.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _46 = _44.getHandler();
          _46.init(_1, _45, "http://java.sun.com/xml/ns/j2ee-cp", "vendor-info", _1.getLevel());
          _46.setAttributes(pAttr);
          _1.addElementParser(_46);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "copyright".equals(pLocalName)) {
          __state = 9;
          org.apache.ws.jaxme.JMManager _47 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.Copyright.class);
          java.lang.Object _48 = _47.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _49 = _47.getHandler();
          _49.init(_1, _48, "http://java.sun.com/xml/ns/j2ee-cp", "copyright", _1.getLevel());
          _49.setAttributes(pAttr);
          _1.addElementParser(_49);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "device-requirement".equals(pLocalName)) {
          __state = 10;
          org.apache.ws.jaxme.JMManager _50 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.DeviceRequirement.class);
          java.lang.Object _51 = _50.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _52 = _50.getHandler();
          _52.init(_1, _51, "http://java.sun.com/xml/ns/j2ee-cp", "device-requirement", _1.getLevel());
          _52.setAttributes(pAttr);
          _1.addElementParser(_52);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "catalog-property".equals(pLocalName)) {
          __state = 11;
          org.apache.ws.jaxme.JMManager _53 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.CatalogProperty.class);
          java.lang.Object _54 = _53.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _55 = _53.getHandler();
          _55.init(_1, _54, "http://java.sun.com/xml/ns/j2ee-cp", "catalog-property", _1.getLevel());
          _55.setAttributes(pAttr);
          _1.addElementParser(_55);
          return true;
        }
        break;
      case 7:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "preview".equals(pLocalName)) {
          __state = 7;
          org.apache.ws.jaxme.JMManager _56 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.Preview.class);
          java.lang.Object _57 = _56.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _58 = _56.getHandler();
          _58.init(_1, _57, "http://java.sun.com/xml/ns/j2ee-cp", "preview", _1.getLevel());
          _58.setAttributes(pAttr);
          _1.addElementParser(_58);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "vendor-info".equals(pLocalName)) {
          __state = 8;
          org.apache.ws.jaxme.JMManager _59 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.VendorInfo.class);
          java.lang.Object _60 = _59.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _61 = _59.getHandler();
          _61.init(_1, _60, "http://java.sun.com/xml/ns/j2ee-cp", "vendor-info", _1.getLevel());
          _61.setAttributes(pAttr);
          _1.addElementParser(_61);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "copyright".equals(pLocalName)) {
          __state = 9;
          org.apache.ws.jaxme.JMManager _62 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.Copyright.class);
          java.lang.Object _63 = _62.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _64 = _62.getHandler();
          _64.init(_1, _63, "http://java.sun.com/xml/ns/j2ee-cp", "copyright", _1.getLevel());
          _64.setAttributes(pAttr);
          _1.addElementParser(_64);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "device-requirement".equals(pLocalName)) {
          __state = 10;
          org.apache.ws.jaxme.JMManager _65 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.DeviceRequirement.class);
          java.lang.Object _66 = _65.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _67 = _65.getHandler();
          _67.init(_1, _66, "http://java.sun.com/xml/ns/j2ee-cp", "device-requirement", _1.getLevel());
          _67.setAttributes(pAttr);
          _1.addElementParser(_67);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "catalog-property".equals(pLocalName)) {
          __state = 11;
          org.apache.ws.jaxme.JMManager _68 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.CatalogProperty.class);
          java.lang.Object _69 = _68.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _70 = _68.getHandler();
          _70.init(_1, _69, "http://java.sun.com/xml/ns/j2ee-cp", "catalog-property", _1.getLevel());
          _70.setAttributes(pAttr);
          _1.addElementParser(_70);
          return true;
        }
        break;
      case 8:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "copyright".equals(pLocalName)) {
          __state = 9;
          org.apache.ws.jaxme.JMManager _71 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.Copyright.class);
          java.lang.Object _72 = _71.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _73 = _71.getHandler();
          _73.init(_1, _72, "http://java.sun.com/xml/ns/j2ee-cp", "copyright", _1.getLevel());
          _73.setAttributes(pAttr);
          _1.addElementParser(_73);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "device-requirement".equals(pLocalName)) {
          __state = 10;
          org.apache.ws.jaxme.JMManager _74 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.DeviceRequirement.class);
          java.lang.Object _75 = _74.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _76 = _74.getHandler();
          _76.init(_1, _75, "http://java.sun.com/xml/ns/j2ee-cp", "device-requirement", _1.getLevel());
          _76.setAttributes(pAttr);
          _1.addElementParser(_76);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "catalog-property".equals(pLocalName)) {
          __state = 11;
          org.apache.ws.jaxme.JMManager _77 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.CatalogProperty.class);
          java.lang.Object _78 = _77.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _79 = _77.getHandler();
          _79.init(_1, _78, "http://java.sun.com/xml/ns/j2ee-cp", "catalog-property", _1.getLevel());
          _79.setAttributes(pAttr);
          _1.addElementParser(_79);
          return true;
        }
        break;
      case 9:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "copyright".equals(pLocalName)) {
          __state = 9;
          org.apache.ws.jaxme.JMManager _80 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.Copyright.class);
          java.lang.Object _81 = _80.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _82 = _80.getHandler();
          _82.init(_1, _81, "http://java.sun.com/xml/ns/j2ee-cp", "copyright", _1.getLevel());
          _82.setAttributes(pAttr);
          _1.addElementParser(_82);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "device-requirement".equals(pLocalName)) {
          __state = 10;
          org.apache.ws.jaxme.JMManager _83 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.DeviceRequirement.class);
          java.lang.Object _84 = _83.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _85 = _83.getHandler();
          _85.init(_1, _84, "http://java.sun.com/xml/ns/j2ee-cp", "device-requirement", _1.getLevel());
          _85.setAttributes(pAttr);
          _1.addElementParser(_85);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "catalog-property".equals(pLocalName)) {
          __state = 11;
          org.apache.ws.jaxme.JMManager _86 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.CatalogProperty.class);
          java.lang.Object _87 = _86.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _88 = _86.getHandler();
          _88.init(_1, _87, "http://java.sun.com/xml/ns/j2ee-cp", "catalog-property", _1.getLevel());
          _88.setAttributes(pAttr);
          _1.addElementParser(_88);
          return true;
        }
        break;
      case 10:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "device-requirement".equals(pLocalName)) {
          __state = 10;
          org.apache.ws.jaxme.JMManager _89 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.DeviceRequirement.class);
          java.lang.Object _90 = _89.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _91 = _89.getHandler();
          _91.init(_1, _90, "http://java.sun.com/xml/ns/j2ee-cp", "device-requirement", _1.getLevel());
          _91.setAttributes(pAttr);
          _1.addElementParser(_91);
          return true;
        } else if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "catalog-property".equals(pLocalName)) {
          __state = 11;
          org.apache.ws.jaxme.JMManager _92 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.CatalogProperty.class);
          java.lang.Object _93 = _92.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _94 = _92.getHandler();
          _94.init(_1, _93, "http://java.sun.com/xml/ns/j2ee-cp", "catalog-property", _1.getLevel());
          _94.setAttributes(pAttr);
          _1.addElementParser(_94);
          return true;
        }
        break;
      case 11:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "catalog-property".equals(pLocalName)) {
          __state = 11;
          org.apache.ws.jaxme.JMManager _95 = getHandler().getJMUnmarshaller().getJAXBContextImpl().getManagerS(org.jvending.provisioning.stocking.par.CatalogProperty.class);
          java.lang.Object _96 = _95.getElementS();
          org.apache.ws.jaxme.impl.JMSAXElementParser _97 = _95.getHandler();
          _97.init(_1, _96, "http://java.sun.com/xml/ns/j2ee-cp", "catalog-property", _1.getLevel());
          _97.setAttributes(pAttr);
          _1.addElementParser(_97);
          return true;
        }
        break;
      default:
        throw new java.lang.IllegalStateException("Invalid state: " + __state);
    }
    return false;
  }

  public void endElement(java.lang.String pNamespaceURI, java.lang.String pLocalName, java.lang.String pQName, java.lang.Object pResult) throws org.xml.sax.SAXException {
    org.jvending.provisioning.stocking.par.ClientBundleType _1 = (org.jvending.provisioning.stocking.par.ClientBundleType) result;
    switch (__state) {
      case 1:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "content-id".equals(pLocalName)) {
          _1.setContentId((java.lang.String) pResult);
          return;
        }
        break;
      case 2:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "version".equals(pLocalName)) {
          _1.setVersion((java.lang.String) pResult);
          return;
        }
        break;
      case 3:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "bundle-type".equals(pLocalName)) {
          _1.setBundleType((java.lang.String) pResult);
          return;
        }
        break;
      case 4:
        throw new java.lang.IllegalStateException("This case should be handled by a nested group parser.");
      case 5:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "tool-descriptions".equals(pLocalName)) {
          _1.setToolDescriptions(((org.jvending.provisioning.stocking.par.ToolDescriptionsType) pResult));
          return;
        }
        break;
      case 6:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "user-descriptions".equals(pLocalName)) {
          _1.setUserDescriptions(((org.jvending.provisioning.stocking.par.UserDescriptionsType) pResult));
          return;
        }
        break;
      case 7:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "preview".equals(pLocalName)) {
          _1.getPreview().add(pResult);
          return;
        }
        break;
      case 8:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "vendor-info".equals(pLocalName)) {
          _1.setVendorInfo(((org.jvending.provisioning.stocking.par.VendorInfoType) pResult));
          return;
        }
        break;
      case 9:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "copyright".equals(pLocalName)) {
          _1.getCopyright().add(pResult);
          return;
        }
        break;
      case 10:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "device-requirement".equals(pLocalName)) {
          _1.getDeviceRequirement().add(pResult);
          return;
        }
        break;
      case 11:
        if ("http://java.sun.com/xml/ns/j2ee-cp".equals(pNamespaceURI)  &&  "catalog-property".equals(pLocalName)) {
          _1.getCatalogProperty().add(pResult);
          return;
        }
        break;
      default:
        throw new java.lang.IllegalStateException("Illegal state: " + __state);
    }
  }

  public boolean isFinished() {
    switch (__state) {
      case 11:
      case 10:
      case 9:
      case 8:
      case 7:
      case 6:
      case 5:
      case 4:
        return true;
      default:
        return false;
    }
  }

}
